 Добро пожаловать,
|
|
|
|
|
|
Книги-online
Ch 10.htm
назад
|
содержание
|
вперед
Оптимизация скорости работы приложения
Основной способ оптимизации скорости
работы — это оптимизация кода приложения. При этом желательно прислушаться к
рекомендациям разработчиков Visual Basic 6.
-
Избегайте переменных типа variant
и присваивайте соответствующие их применению типы. При использовании в выражениях
переменных типа Variant теряется время на их приведение к конкретному типу
в соответствии с типом выражения. Причем, необходимо иметь в виду, что при
множественном описании ключевые слова As Type относятся только к одной переменной,
то есть Dim А, в, с As String означает, что А и В— переменные типа variant
(по умолчанию) и только с — строковая. В этом случае лучше написать Dim A
As string, в As String, с As string.
-
Используйте для арифметических
вычислений переменные типа Long или Integer, поскольку они, в отличие от currency,
single или Double, более всего соответствуют машинному коду. В табл. 10.4
приведено ранжирование по относительной скорости типов переменных при арифметических
вычислениях.
Таблица 10.4.
Относительная
скорость вычисления для типов переменных
Тип переменной
|
Относительная
скорость
|
Long
|
Самая высокая скорость
|
Integer
|
Ниже чем у Long
|
Byte
|
Ниже чем у Integer
|
Single
|
Ниже чем у Byte
|
Double
|
Ниже чем у Single
|
Currency
|
Самая низкая скорость
|
-
Назначайте часто используемое
свойство объекта в переменные, так как назначение и чтение переменных работает
быстрее (от 10 до 20 раз). Для сравнения приведены два примера с двумя вариантами
текста кода, при этом второй вариант кода более быстрый, чем первый, и в том
и в другом примере.
1. Первый пример.
Первый вариант кода:
For nCounter = 1 То 20
Object(nCounter).Property
= ObjectDef.Property
Next nCounter
Второй вариант кода:
valProperty = ObjectDef.Property
For nCounter = 1 To 20
Object(nCounter).Property
= valProperty
Next nCounter
2. Второй пример.
Первый вариант кода:
For nCounter = 1 То 20
Object.Property = Object.Property
& sValue
Next nCounter
Второй вариант кода:
For nCounter = 1 To 20
sValueAll = sValueAll &
sValue
Next nCounter
Object.Property = sValueAll
-
Для хранения одинаковых значений
в процедурах вместо переменных типа Static используйте переменные уровня модуля,
поскольку они работают быстрее.
При этом, правда, текст кода приложения
увеличивается за счет дублирования и становится менее читабельным и понятным.
-
Для критичных по времени вычисления
случаев используйте код процедур непосредственно в месте их выполнения взамен
вызова этих процедур, который занимает определенное время. Правда при этом
необходимо помнить, что размер кода увеличивается за счет дублирования кода
процедур.
-
Вместо переменных, насколько
это возможно, используйте константы, поскольку значения констант включаются
при компиляции в код приложения, а переменные каждый раз должны быть найдены
в памяти и считаны, что, конечно, занимает определенное время.
Замечание
Оптимизация кода приложения,
конечно, связана и с оптимизацией его размера. Как видно из некоторых способов
оптимизации кода, размер кода либо увеличивается, либо уменьшается при оптимизации
скорости приложения.
назад
|
содержание
|
вперед
Внимание! Если у вас не получилось найти нужную информацию, используйте рубрикатор или воспользуйтесь поиском
.
книги по программированию исходники компоненты шаблоны сайтов C++ PHP Delphi скачать
|
|